아트멜 AVR
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
AVR은 노르웨이 과학 기술 대학교 학생들이 고안하고 아트멜에서 개발한 8비트 RISC 마이크로컨트롤러 아키텍처이다. 1997년에 소개되어 2003년까지 5억 개가 출하되었으며, 아두이노 플랫폼에 사용되면서 널리 알려졌다. AVR은 중앙 처리 장치와 플래시 메모리를 하나의 칩에 통합한 하버드 아키텍처의 변형으로, tinyAVR, megaAVR, AVR Dx, XMEGA, Application-specific AVR, FPSLIC, 32-bit AVRs 등 다양한 종류가 있다. AVR 칩은 ISP, JTAG, UPDI 등 여러 인터페이스를 통해 프로그래밍할 수 있으며, Atmel-ICE, AVRISP mkII, AVR Dragon 등 다양한 개발 도구와 개발 환경을 지원한다. 자동차, 아두이노, USB, 모터 제어 등 다양한 분야에 응용되며, FPGA 클론 형태로도 개발되고 있다.
더 읽어볼만한 페이지
- 마이크로컨트롤러 - 마이크로프로세서
마이크로프로세서는 CPU 기능을 단일 IC에 통합한 것으로, 무어의 법칙에 따라 성능이 향상되어 왔으며 다양한 아키텍처와 기술 발전을 거쳐 현재 광범위한 분야에서 사용된다. - 마이크로컨트롤러 - ARM 아키텍처
ARM 아키텍처는 저전력 설계로 모바일 기기에서 널리 쓰이는 RISC 기반 프로세서 아키텍처로서, IP 코어 라이선스 모델과 ARM Flexible Access를 통해 다양한 분야로 확장되고 있다. - 명령어 집합 구조 - ARM 아키텍처
ARM 아키텍처는 저전력 설계로 모바일 기기에서 널리 쓰이는 RISC 기반 프로세서 아키텍처로서, IP 코어 라이선스 모델과 ARM Flexible Access를 통해 다양한 분야로 확장되고 있다. - 명령어 집합 구조 - PA-RISC
PA-RISC는 휴렛 팩커드에서 개발한 RISC 기반 명령어 집합 아키텍처로, HP 서버 및 워크스테이션에 사용되었으며 대용량 L1 캐시와 SIMD 명령어 확장 등의 특징을 가졌으나 아이테니엄 아키텍처로의 전환으로 단종되었다.
아트멜 AVR | |
---|---|
요약 | |
종류 | |
아키텍처 | 8비트, 32비트 |
명령어 집합 아키텍처 | Atmel AVR |
역사 및 제조사 | |
개발사 | 아트멜 (현재 마이크로칩 테크놀로지에서 인수) |
출시일 | 1996년 |
기술 사양 | |
코어 | 8비트 AVR 32비트 AVR32 32비트 AVR xmega |
메모리 | 플래시 메모리, EEPROM, SRAM |
클럭 속도 | 0-20 MHz (일반적인 AVR), 최대 32 MHz (AVR32) |
인터럽트 | 다중 내부 및 외부 인터럽트 소스 |
전력 소비 | 저전력 모드 지원 |
특징 | |
장점 | 사용 용이성 유연성 저렴한 비용 |
용도 | 임베디드 시스템 아두이노 기타 다양한 전자 제품 |
제품군 | |
주요 제품군 | tinyAVR megaAVR XMEGA AVR32 FPSLIC |
프로그래밍 | |
프로그래밍 언어 | C 어셈블리어 |
개발 환경 | 아트멜 스튜디오 아두이노 IDE GCC |
관련 정보 | |
관련 주제 | 마이크로컨트롤러 임베디드 시스템 아두이노 |
2. 역사
AVR 아키텍처는 노르웨이 과학 기술 대학교(NTH)의 학생이었던 알프-에길 보겐[1]과 베가르드 월란[2]이 고안하였다. 아트멜은 AVR이라는 이름이 약자가 아니며 특별히 무엇을 의미하는 것은 아니라고 말하지만, AVR이 '''A'''lf와 '''V'''egard의 '''R'''ISC 프로세서를 의미한다는 것이 일반적으로 받아들여지고 있다.[4]
AVR은 중앙처리장치와 소용량 플래시메모리가 하나의 IC에 집적되어 있다. 하버드 아키텍처(Harvard architecture)의 변형 형태로 프로그램과 데이터 메모리가 분리된 형태이며, 특수 명령어로 프로그램 데이터를 데이터 영역으로 읽을 수 있다. AVR은 수정된 하버드 구조를 가진 장치로, 프로그램과 데이터가 별도의 물리적 메모리 시스템에 저장되어 다른 주소 공간에 나타나지만, 특수 명령어를 사용하여 프로그램 메모리에서 데이터를 읽어올 수 있다.[10]
(MHz)
초기 AVR MCU는 당시 노르딕 VLSI(현재는 노르딕 반도체)라고 불리던 ASIC 회사에서 개발되었으며, 보겐과 월란은 트론헤임에서 학생으로 일하고 있었다. 이 기술이 노르딕 VLSI에서 아트멜로 판매되었을 때, 아트멜 노르웨이(Atmel Norway, 아트멜의 자회사)에서 보겐과 월란이 내부 아키텍처를 더욱 발전시켰다. 설계자들은 IAR 시스템즈의 컴파일러 작성자들과 긴밀히 협력하여 AVR 명령어 집합이 컴파일 고급 언어를 효율적으로 지원하도록 했다.[7]
초기 AVR 제품군 중 하나인 AT90S8515는 40핀 DIP 패키지에 외부 멀티플렉싱된 주소 및 데이터 버스를 포함하여 8051 마이크로컨트롤러와 동일한 핀 배열을 가지고 있었다. RESET 라인의 극성은 반대였지만(8051은 액티브 하이 RESET을 가진 반면, AVR은 액티브 로우 RESET을 가짐), 그 외에는 핀 배열이 동일했다.
AVR 8비트 마이크로컨트롤러 아키텍처는 1997년에 소개되었다. 2003년까지 아트멜은 5억 개의 AVR 플래시 마이크로컨트롤러를 출하했다.[8] 2005년에는 간단한 전자 프로젝트를 위해 개발된 아두이노 플랫폼이 출시되었으며, ATmega8 AVR 마이크로컨트롤러를 기반으로 한다.
3. AVR의 구성
AVR은 32개의 단일 바이트 레지스터를 가지며 8비트 RISC 장치로 분류된다.
플래시, EEPROM, 및 SRAM이 모두 단일 칩에 통합되어 대부분의 응용 분야에서 외부 메모리가 필요하지 않다.
데이터 주소 공간은 레지스터 파일, I/O 레지스터 및 SRAM으로 구성된다.
AVR의 주요 구성 요소는 다음과 같다.명칭 설명 R0-R25 범용 레지스터
R0-R15는 즉치 연산 불가X(R26,R27) 인덱스 레지스터 X Y(R28,R29) 인덱스 레지스터 Y Z(R30,R31) 인덱스 레지스터 Z PC 프로그램 카운터 SP 스택 포인터 SREG 상태 레지스터
4. AVR의 종류
패키지 SRAM EEPROM 0.5–32 KB 1.6–20 6–32핀 패키지 32–3072 바이트 64–512 바이트